1. Field of the Invention
The present invention is related to signal processing. More specifically, the present invention is related to the decoding of single or multi-tone multi-frequency signals.
2. Background of the Related Art
In the art of signal processing, DTMF stands for Dual-Tone Multi-Frequency. DTMF signaling has many applications such as telephone dialing, data entry, credit checking, and voice mail system control. A DTMF signal consists of two superimposed sinusoidal waveforms with frequencies that are chosen from a set of eight standardized frequencies. Typically, these frequencies are generated and detected according to a standard such as the CCITT Recommendation Q.23 and Q.24. See, for example, xe2x80x9cRecommendation Q.23: Technical Features of Push-Button Telephone Setsxe2x80x9d (CCITT Blue Book, Geneva, 1989); and xe2x80x9cRecommendation Q.24: Multi-Frequency Push-Button Signal Receptionxe2x80x9d (CCITT Blue Book, Geneva, 1989). See also G. Arslan, B. Evans, F. Sakarya, and J. Pino, xe2x80x9cPerformance Evaluation and Real-Time Implementation of Subspace, Adaptive, and DFT Algorithms for Multi-tone Detectionxe2x80x9d (available at http://ptolemy.eecs.berkeley.edu/papers/96/dtmf_ict/). Moreover, the DTMF frequencies are effectively divided into two subsets. One subset contains the lower four frequencies, and the other subset contains the upper four frequencies. Each DTMF tone is defined by the presence of exactly one of the frequencies from each of those subsets. Table 1 shows the two groups and their associated frequencies.
According to the CCITT Recommendation, the frequency tolerance in operation is less than or equal to 1.5% in operation and greater than or equal to 3.5% in non-operation. In addition to frequency specification and tolerance, the CCITT also specifies signal receptions timing as shown in Table 2.
Table 3 illustrates the frequencies that compose the tones in terms of a telephone touch pad. For example, referring to Table 3, the tone for the xe2x80x9c8xe2x80x9d button is represented with the superposition (sum) of the 852 Hz and the 1336 Hz sinusoidal waveforms. Generally speaking, the energy of the sinusoidal waveforms present in the generated tone should exceed the energy present at any other frequencies by 30 dB.
The digits 0 though 9 and the characters * and # are used in public telecommunications services. The characters A through D are reserved for use in non-public telecommunications networks. Although the character D is sometimes used as an identifier in Caller Identification signaling on the public network.
Estimating the frequencies of multiple signals (such as DTMF signals) in noise is an important problem in signal processing. In the prior art, these signals were estimated using subspace techniques such as Multiple Signal Classification (MUSIC), adaptive techniques such as Least Mean-Square (LMS) estimation, or fast implementations of discrete Fourier transform (DFT) such as the Goertzel algorithm. The choice of which of the three techniques depended upon a trade-off between the observation time and the available computational resources. For example, according to Arslan, et al, the Goertzel algorithm is more efficient than the Fast Fourier Transform in computing an N-point DFT if less than 2 log2 N DFT coefficients are required.
Prior art DTMF Decoder integrated circuits (IC) generally included the following elements:
Data collection mechanism;
A time domain to frequency domain conversion (Fourier Transform);
A bank of 8 Narrow Bandpass Filters;
Decision Making; and
Output.
It would be advantageous, however, to eliminate the need for the bank of narrow bandpass filters. It is an object of the present invention to overcome the problems and limitations inherent in the prior art.
The present invention solves the problems inherent in the prior art by providing an apparatus and method for decoding single or multi-frequency signals without the use of analog bandpass filters. The apparatus of the present invention can be, for example, a microcontroller in an embedded application.
The method of the present invention is composed of a number of steps. First, an incoming (analog) signal is received and transformed into binary signals (1 or 0) at specific instances of time. The incoming binary signal is compared to a pre-defined expected (binary) signal at each time step. The incoming and expected bit values for each time step are then compared and the comparison result is stored as part of a frequency response table. The comparison values are then summed and, if the summed value exceeds a pre-defined threshold, the incoming and expected signals are declared a match. Otherwise, the signals are declared a mis-match. Other pre-, concurrent-, or post-processing steps can be implemented with the present invention in order to add additional functionality.
Other and further objects, features and advantages will be apparent from the following description of presently preferred embodiments of the invention, given for the purpose of disclosure and taken in conjunction with the accompanying drawings.